One to One Interface

A One to One Interface allows you to establish a connection with another matching interface.

Properties

Name Description
Name Defines the name of the interface.
IsAbstract Defines the type of connection supported by the interface. A True value supports only remote connections. A False value supports only physical connections.
ConnectSameLevelOnly Defines if the interface can only connect to interfaces on the same level in a hierarchy. Generally, this is used when you are connecting a large group of components that make up an assembly and want to avoid connecting the wrong components, thereby disassembling the group.
AngleTolerance Defines an angle for restricting a physical connection to the interface. Generally, a smaller angle is used to require a front-end connection attempt instead of allowing a component to approach the interface from behind or its side.
DistanceTolerance Defines a distance for restricting a physical connection to the interface. Generally, a smaller distance is used to require connection attempts at a closer proximity to the interface.
ConnectionEditName Defines a Button property for accessing a connection editor.
InterfaceDescription Defines a description about the interface. Generally, this used to leave a note about what and how the interface is used in its component.
Sections and Fields Defines the sections and fields of the interface. A section is like a plug or socket and its fields are connectors or pins that allow you to plug in and connect devices. Therefore, the fields of two interfaces need to match in order to connect with one another.

Add new section
Creates a new section.

Name
Defines the name of the section. In some cases, the naming of a section is important at identifying connection points in a component.

Section Frame
Defines a Frame feature that defines the section's location. This is not needed if the interface is abstract, so select NONE. If you want to create a new Frame feature for the interface, select NEW.

Add new field
Creates a new field in the section. Each field type has its own set of properties and a common property of Name. For more information, see "Field Types" in this topic.

Right-corner options
Allow you to delete and rearrange sections and fields. Sections are separate connection points, so in most cases the location of sections is important but not their order. Fields define the connection type of a section, so their order is important when evaluating a possible connection. For example, two interfaces may have the same amount and type of fields but are unable to connect because their fields do not match up in the right order.

Field Types

Action

An Action field allows you to send and receive actions as well as connect resource clients, providers and managers. Generally, an Action field is used in a remote connection.

  • Actions defines the Action Container used to manage actions.
  • Connection defines the how the Action Container manages actions.
    • To send actions, select Client.
    • To receive actions, select Provider.
    • To send and receive actions to other Action Containers, select Buffer.

Note: Generally, a Python Script is used with Action Containers and Action fields to simulate tasks and processes.

Attachment

An Attachment field allows you to attach and connect physics objects. Generally, an Attachment field is used to extend Plug and Play by allowing the joints of a component to be attached to other components. In such cases, an Attachment field is visualized as a paper plane which can be dragged to an available connection in the 3D world.

BaseExport

A BaseExport field allows you to import/export base frames. For example, a robot positioner exports base frames to a mounted robot that imports them.

  • BaseList defines the Base Container used for storing base frames.
  • Export defines if base frames are imported or exported by the field. A True value exports bases frames. A False value imports base frames.

Flow

A Flow field allows you to transfer components from one container to another container. For example, most conveyors use Flow fields to simulate material handling between one or more conveyor lines.

  • Container defines the behavior used to receive or send components. The behavior must be able to contain components, for example a One Way Path.
  • Port defines the connector of Container. Generally, a value of 0 refers to a behavior's Input port (receive components), whereas 1 refers to a behavior's Output port (send components). In some cases, a behavior may have any number of ports, which are attached to the behavior in the Component Graph panel.

Hierarchy

A Hierarchy field allows you to attach a node in the component to a node in a different component. The nodes would need to a valid relationship in order to connect to one another. For example, if both nodes are designated as Parent or Child they won't connect. That is, one node would have to be Parent and the other node defined as Child.

  • Node defines the node in the component to use when forming a hierarchy.
  • Frame defines an offset for attaching the node or a child node.
  • Parent defines the relationship of the node. A True value means another node will be attached to the node. A False value means the node will be attached to another node.

IntegerCompatibility

An IntegerCompatibility field allows you to restrict a connection if it does not have a matching integer. Generally, an integer is used as a model number to restrict components from connecting to one another if they otherwise could not in the real world.

  • Value defines the integer used in the comparison test.

JointExport

A JointExport field allows you to import/export joint information. For example, a workpiece positioner exports its joint information to a robot that imports them in order to use external joints.

  • Controller defines the Servo/Robot Controller for managing joint information.
  • Export defines if joints are imported or exported by the field. A True value exports the joint information for any joint referenced by Controller. A False value imports joint information which is then defined as an external joint in Controller.

Processor

A Processor field allows you to connect Component Path and Process Point Sensors to path type behaviors. In some cases, a conveyor uses a One to Many Interface to allow for the connection of multiple sensors. In all cases, a detachable sensor is attached to a path using the PnP command. The location of the sensor on the path can be verified in the sensor's Distance property or in the Parent coordinate system. That is, a path is Parent to a sensor which is Child.

  • Path defines a behavior that can contain detachable sensors. The behavior must be a type of path. If Parent is False, then Path is disabled.
  • Sensor defines the Component Path or Process Point Sensor that attaches itself to a path in a different component. If Parent is True, then Sensor is disabled.
  • Parent defines the relationship of the field. A True value means the field supports attachments to Path. A False value means the field supports the attachment of Sensor to a different component's path.

Rsl

A Rsl field allows you to import/export a robot executor's program in order to remotely call subroutines. Generally, an Rsl field is used in a remote connection.

  • Publish defines if the field exports a robot executor's program. A True value means other robots can read and execute subroutines in the program. A False value means other robots cannot read nor execute subroutines in the program.
  • Subscribe defines if the field imports a robot executor's program. A True value means the robot can read and execute subroutines in other programs. A False value means the robot cannot read nor execute subroutines in other programs.

Note: Python Scripts are often used to call subroutines as well as create custom statements in a robot's program, thereby eliminating the need for Rsl fields.

Signal

A Signal field allows you to connect and map signals. For example, a Signal field can be used to map a signal to an item in a PLC connection (remote connection) or a signal in a mounted tool to a robot's IO system (physical connection).

  • Signal defines the behavior used by the field. The behavior must be a type of signal.
  • Connection defines how the interface can be connected. It can be used to limit user to make unwanted connections.
    • Normal means the signal can connect with another signal.
    • Begin means the signal can connect with another signal that has an End connection.
    • End means the signal can connect with another signal that has a Begin connection.

ToolExport

A ToolExport field allows you to import/export tool frames. For example, a tool mounted on a robot would export tool frames and the robot would import them to use as a tcp.

  • ToolList defines the Tool Container used for storing tool frames.
  • Export defines if tool frames are imported or exported by the field. A True value exports tool frames. A False value imports tool frames.

Transport

A Transport field allows you to send and receive transportation tasks. A Transport Protocol uses a signal to rely information, so a Transport field is used mainly for sharing data (what component to pick up, the pick-up location, the receiving component, the drop-off location).

  • Transport defines the Transport Protocol used by the field.
  • Connection defines how Transport is used by the field.
    • To receive transportation tasks, select Input.
    • To send transportation tasks, select Output.
    • To send and receive transportation tasks, select Input and Output.